
#include <GL\gl.h>

/*======================== Função desenhar_parede ========================*/

/**
        Função para desenhar uma cadeira.
        
        @param tamanho é o tamanho do objeto. // TODO: Não funciona muito bem
        @param rotacao é a rotação do objeto em torno do próprio eixo.
 */

void parede_corredor1_sala1( GLfloat tamanho, GLfloat rotacao)
{
    /* Definindo as dimensões do objeto */
    GLfloat altura = 200;       /* Altura do objeto           */
    GLfloat largura = 50;       /* largura do objeto          */
    GLfloat profundidade = 50;  /* profundidade do objeto     */
    GLfloat altura_mundo = 15;  /* Altura em relação ao chÃ£o */
    
    /* Definindo a orientaçãoo do objeto */
    //glTranslatef( 0, altura_mundo, 0 );
    glRotatef( rotacao, 0, 1, 0 );
    
    /* Definindo a textura do objeto */
    glBindTexture ( GL_TEXTURE_2D, idTextura[3] );
    
    glBegin( GL_QUADS );
    /* Face frontal */
    glTexCoord2f(0.0f, 0.0f); glVertex3f(-largura, -altura,  profundidade);
    glTexCoord2f(1.0f, 0.0f); glVertex3f( largura, -altura,  profundidade);
    glTexCoord2f(1.0f, 1.0f); glVertex3f( largura,  altura,  profundidade);
    glTexCoord2f(0.0f, 1.0f); glVertex3f(-largura,  altura,  profundidade);

    /* Face posterior */
    glTexCoord2f(1.0f, 0.0f); glVertex3f(-largura, -altura, -profundidade);
    glTexCoord2f(1.0f, 1.0f); glVertex3f(-largura,  altura, -profundidade);
    glTexCoord2f(0.0f, 1.0f); glVertex3f( largura,  altura, -profundidade);
    glTexCoord2f(0.0f, 0.0f); glVertex3f( largura, -altura, -profundidade);

    /* Face superior */
    glTexCoord2f(0.0f, 1.0f); glVertex3f(-largura,  altura, -profundidade);
    glTexCoord2f(0.0f, 0.0f); glVertex3f(-largura,  altura,  profundidade);
    glTexCoord2f(1.0f, 0.0f); glVertex3f( largura,  altura,  profundidade);
    glTexCoord2f(1.0f, 1.0f); glVertex3f( largura,  altura, -profundidade);

    /* Face inferior */
    glTexCoord2f(1.0f, 1.0f); glVertex3f(-largura, -altura, -profundidade);
    glTexCoord2f(0.0f, 1.0f); glVertex3f( largura, -altura, -profundidade);
    glTexCoord2f(0.0f, 0.0f); glVertex3f( largura, -altura,  profundidade);
    glTexCoord2f(1.0f, 0.0f); glVertex3f(-largura, -altura,  profundidade);
    glEnd();
    
    glBindTexture ( GL_TEXTURE_2D, idTextura[0] );
    glBegin( GL_QUADS );
    /* Face lateral direita */
    glTexCoord2f(1.0f, 0.0f); glVertex3f( largura, -altura, -profundidade);
    glTexCoord2f(1.0f, 1.0f); glVertex3f( largura,  altura, -profundidade);
    glTexCoord2f(0.0f, 1.0f); glVertex3f( largura,  altura,  profundidade);
    glTexCoord2f(0.0f, 0.0f); glVertex3f( largura, -altura,  profundidade);

    /* Face lateral esquerda */
    glTexCoord2f(0.0f, 0.0f); glVertex3f(-largura, -altura, -profundidade);
    glTexCoord2f(1.0f, 0.0f); glVertex3f(-largura, -altura,  profundidade);
    glTexCoord2f(1.0f, 1.0f); glVertex3f(-largura,  altura,  profundidade);
    glTexCoord2f(0.0f, 1.0f); glVertex3f(-largura,  altura, -profundidade);  
    glEnd();
}


